#include <iostream>
using namespace std;

int visist[10] = {0}; // 标记

void dfs(int *a, int len) {
    // 当长度等于 5 时，判断是否满足条件，满足的话则输出
    if(len == 9) {
        if((a[0]*10+a[1]) * (a[2]*100+a[3]*10+a[4]) == a[5]*1000+a[6]*100+a[7]*10+a[8]) {
           cout << a[0]*10+a[1] << "*" << a[2]*100+a[3]*10+a[4] << "=" << a[5]*1000+a[6]*100+a[7]*10+a[8] << endl;
        }
        return ;
    }
    for(int i = 1; i <= 9; i++) {
        // 如果i还未被标记，则继续递归下去
        if(!visist[i]) {
            visist[i] = 1; //标记i
            a[len] = i;
            dfs(a,len+1);
            visist[i] = 0; //取消标记,回溯
        }
    }
}

int main() {
    int a[10] = {0};
    dfs(a,0);
    return 0;
}
